#ifndef common_sched_H_GUARD
#define common_sched_H_GUARD

#include "sim.h"
#include "pcb.h"

/* Returns the type of event
 * at the time returned by
 * nextEventTime()
 */
Event nextProcessEvent();

/* returns the pcb of the event */
PCB* getPCB();

void setPCB(PCB* new_run, Event e);

void clearPCB();

/* return min of 
 * IOPEND, IOSTART, TERMSLICE, TERMPROG
 */
unsigned nextProcessEventTime();

void incrementRunningProcess(unsigned delta);


#endif


